import { postRequest } from "@/utils/api";

const $appStoreApi = {

  // 分页获取服务包列表，同时支持根据关键词过滤
  getAppInfoListByPage: param => {
    return postRequest("/appstore/appinfo/page", param);
  },

  // 按分页展示最新服务包
  pageListPackage: param => {
    return postRequest("/appstore/appinfo/pagenew", param);
  },

  // 收藏/取消收藏服务包
  favoritePackage: param => {
    // return postRequest("/appstore/appinfo/mark", param);
    return postRequest(`/appstore/appinfo/mark?id=${param.id}&type=${param.type}`);
  },
  // 获取收藏服务包
  pageListPackageFavorite: param => {
    return postRequest("/appstore/appinfo/page/favorite", param);
  },
  // 给服务包打标签
  tagPackage: param => {
    return postRequest(`/appstore/appinfo/tag?id=${param.id}`, param.tags);
  },

  // 上传服务包
  uploadPackage: param => {
    return postRequest("/appstore/appinfo/upload", param);
  },

  // 应用商店点击部署，返回页面所需的实体
  getDeployConfig: param => {
    return postRequest(`/appstore/appinfo/yaml/config?appName=${param.appName}&appVersion=${param.appVersion}`);
  },

  // 删除服务包
  deletePackage: param => {
    return postRequest(`/appstore/appinfo/delete?id=${param}`);
  },

  // 批量导出服务包到共享路径
  exportServicePackages: param => {
    return postRequest(`/appstore/appinfo/export`, param);
  },

  // 共享路径批量导入服务包到
  importServicePackages: param => {
    return postRequest(`/appstore/appinfo/upload/import`, param);
  },


  // 根据标识获取所有版本，并反馈给前端展示
  appNameVersionList: param => {
    return postRequest(`/appstore/appinfo/appname/versions?appName=${param}`);
  },

  // 根据标识和版本获取唯一服务包信息
  appInfoByAppNameAndVersion: param => {
    return postRequest(`/appstore/appinfo/only?appName=${param.appName}&appVersion=${param.appVersion}`);
  },

  // 根据标识和版本获取唯一服务包信息
  getFileData: param => {
    return postRequest(`/appstore/gvStoreYamlMount/getFiledata?id=${param.id}&mountFilepath=${param.mountFilepath}`);
  },

  // ------ 服务组相关接口
  // 保存服务组信息
  saveGroupInfo: param => {
    return postRequest(`/appstore/gvStoreGroup/save`, param);
  },

  // 获取所有服务组信息
  listGroup: param => {
    return postRequest(`/appstore/gvStoreGroup/page`, param);
  },

  // 获取服务组关系图信息
  getGroupRelationGraph: param => {
    return postRequest(`/appstore/gvStoreGroup/relationgraph?id=${param}`, param);
  },

  // 删除服务组信息
  deleteGroupInfo: param => {
    return postRequest(`/appstore/gvStoreGroup/delete?id=${param}`, param);
  },

  // ----- 外部服务管理相关接口
  // 获取所有信息
  getOutServiceListByPage: param => {
    return postRequest(`/appstore/outservice/page`, param);
  },
  // 添加外部服务
  addOutService: param => {
    return postRequest(`/appstore/outservice/add`, param);
  },
  // 获取指定外部信息
  getOutServiceInfo: param => {
    return postRequest(`/appstore/outservice/detail?id=${param}`, param);
  },

  // 获取匹配标识的外部服务
  getOutServiceByName: param => {
    return postRequest(`/appstore/outservice/by/name?serviceInterface=${param}`);
  },
  // 批量删除外部服务信息
  deleteOutService: param => {
    return postRequest(`/appstore/outservice/delete`, param);
  },
  // 编辑后更新外部服务信息
  updateOutService: param => {
    return postRequest(`/appstore/outservice/update`, param);
  },
  // ----- 系统配置相关接口
  getSystemConfigListByPage: param => {
    return postRequest(`/appstore/gvStoreSystemConfig/page`, param);
  },
  addSystemConfig: param => {
    return postRequest(`/appstore/gvStoreSystemConfig/add`, param);
  },
  updateSystemConfig: param => {
    return postRequest(`/appstore/gvStoreSystemConfig/update`, param);
  },
  deleteSystemConfig: param => {
    return postRequest(`/appstore/gvStoreSystemConfig/delete`, param);
  },
  // 云原生相关接口
  pageListYaml: param => {
    return postRequest(`/appstore/cloudYaml/page`, param);
  },
  uploadYaml: param => {
    return postRequest(`/appstore/cloudYaml/upload`, param);
  },
  updateYaml: param => {
    return postRequest(`/appstore/cloudYaml/update`, param);
  },
  deleteYaml: param => {
    return postRequest(`/appstore/cloudYaml/delete`, param);
  },
  getHomePageData: () => {
    return postRequest("/appstore/homepage/get");
  },
  getCloudYamlPageData: param => {
    return postRequest("/appstore/cloudYaml/page/data", param);
  },
  getCloudYamlInfo: param => {
    return postRequest(`/appstore/cloudYaml/get?id=${param}`);
  },
  checkGroupName: param => {
    return postRequest(`/appstore/gvStoreGroup/check/groupname?groupName=${param}`);
  },
  // ------ 服务包标签相关接口
  // 添加服务标签
  addAppTag: param => {
    return postRequest(`/appstore/taginfo/add`, param);
  },
  // 获取标签列表
  listAppTag: param => {
    return postRequest(`/appstore/taginfo/list`, param);
  },
  // 删除服务包标签
  deleteAppTag: param => {
    return postRequest(`/appstore/taginfo/delete?id=${param}`);
  },
}

export default $appStoreApi
